# Exclui todos os objetos do ambiente
rm(list = ls())
# Define o diretório de trabalho
setwd("C:/Users/Ampla/AMPLA INCORPORADORA LTDA/Ampla_R")
# Carrega os pacotes necessários
library(DT) # Tabelas dinâmicas
library(here) # Facilitar identificação de caminhos
library(htmltools) # Ferramentas para HTML
library(htmlwidgets) # Ferramentas de personalização do HTML
library(kableExtra) # Ferramentas para tabelas kable
library(magrittr) # Ferramentas sintáticas ao dplyr, e.g. %<>%
library(openxlsx) # Ler, escrever e editar arquivos xlsx
library(pdftools) # Extração de dados em PDF
library(plotly) # Gráficos interativos
library(readr) # Importação de arquivos, e.g. read_csv()
library(readxl) # Importação de arquivos em Excel, e.g. read_excel()
library(scales) # Ferramentas para configurar escalas em gráficos
library(styler) # Formatar códigos, e.g. style_file()
library(tabulapdf) # Extrair tabelas de PDFs
library(tidyverse) # Pacotes úteis para a análise de dados, e.g. dplyr e ggplot2
library(visNetwork) # Grafos
# Carrega as funções que foram criadas
source(here("dados", "funcoes", "extrair_dados_arquivo_ecn.R"))
source(here("dados", "funcoes", "extrair_caminhos_relatorio.R"))
source(here("dados", "funcoes", "extrair_dados_relatorio.R"))
source(here("dados", "funcoes", "ig_vcxve.R"))
# Formatando o código de uma maneira mais legível
style_file(here("dados", "Base de dados.Rmd"))
# Determinando o tipo do relatório
tipo.consulta_c <- c("Todos", "Mais recentes")[2]
# Lista de caminhos para os relatórios a serem reportados
caminhos.relatorio_l <- extrair_caminhos_relatorio(quais.c = tipo.consulta_c)
# Lista com os dados do relatório
dados.relatorio_l <- extrair_dados_relatorio(caminhos.relatorio_l)
source(here("Fluxo dos dados.R"))
dados_gnw
# Criar lista para armazenar os outputs a serem apresentados
output <- tagList()
# Iterar por empreendimento
for (empreendimento.c in caminhos.relatorio_l$Empreendimentos) {
## Adicionar título
output <-
tagAppendChild(
output,
tags$h1(paste0(
match(
empreendimento.c,
caminhos.relatorio_l$Empreendimentos
),
". ",
empreendimento.c
))
)
## Iterar por tipos de relatório
tipos_vc <-
names(caminhos.relatorio_l[!names(caminhos.relatorio_l) %in%
c("Empreendimentos", "Contagem")])
for (t in seq_along(tipos_vc)) {
### Adicionar subtítulo
output <- tagAppendChild(output, tags$h2(tipos_vc[t]))
### Iterar por quantidade de relatórios de um mesmo tipo
for (i in seq_along(caminhos.relatorio_l[[t]][[empreendimento.c]])) {
#### Extrair e formatar subsubtítulos
subsubtitulo_vc <-
basename(caminhos.relatorio_l[[t]][[empreendimento.c]][i]) %>%
str_sub(1, 6) %>%
paste0("01") %>%
as.Date(format = "%Y%m%d") %>%
format("%Y-%m") %>%
unname()
#### Adicionar subsubtítulo
output <- tagAppendChild(output, tags$h3(subsubtitulo_vc))
#### Adicionar gráfico de valor creditado x valor do empréstimo
ig.vcxve <- ig_vcxve(dados.relatorio_l)
output <- tagAppendChild(output, ig.vcxve)
#### Renderizar tabela do empreendimento como kable()
empreendimento_t <-
dados.relatorio_l[[empreendimento.c]][[t]][[i]]$Empreendimento %>%
kable() %>%
kable_styling(
full_width = FALSE,
bootstrap_options = c("bordered"),
position = "left"
)
#### Acrescentar título da tabela do empreendimento
output <- tagAppendChild(output, tags$h4("[Tabela] Empreendimento"))
#### Converter kable para HTML e acrescentar objeto ao output
output <- tagAppendChild(output, HTML(as.character(empreendimento_t)))
#### Renderizar tabela do empréstimo como kable()
emprestimo_t <-
dados.relatorio_l[[empreendimento.c]][[t]][[i]]$Emprestimo %>%
mutate(across(
where(is.numeric),
~ number_format(
accuracy = 0.01,
big.mark = ".",
decimal.mark = ","
)(.)
)) %>%
kable() %>%
kable_styling(
full_width = FALSE,
bootstrap_options = c("bordered"),
position = "left"
)
#### Acrescentar título da tabela do empreendimento
output <- tagAppendChild(output, tags$h4("[Tabela] Empréstimo"))
#### Converter kable para HTML e acrescentar objeto ao output
output <- tagAppendChild(output, HTML(as.character(emprestimo_t)))
#### Renderizar a tabela das unidades como uma datatable()
unidades_t <-
tagList(
tags$h4("[Tabela] Unidades"),
dados.relatorio_l[[empreendimento.c]][[t]][[i]]$Unidades %>%
mutate(across(
where(is.numeric),
~ number_format(
accuracy = 0.01,
big.mark = ".",
decimal.mark = ","
)(.)
)) %>%
datatable(
options = list(pageLength = 5, class = "cell-border")
)
)
#### Gráfico: Unidades - Histograma do financiamento
unidades_g <-
ggplot(
data = dados.relatorio_l[[empreendimento.c]][[t]][[i]]$Unidades,
aes(Financiamento)
) +
geom_histogram(
color = "black",
fill = "lightgray"
) +
geom_vline(aes(xintercept = mean(Financiamento)),
color = "red"
) +
xlab("Financiamento (em R$)") +
scale_x_continuous(labels = scales::label_number(
big.mark = ".",
decimal.mark = ",",
accuracy = 1
)) +
ylab("Contagem") +
scale_y_continuous(labels = scales::label_number(accuracy = 1)) +
theme_minimal()
unidades_ig <- tagList(
tags$h4("[Gráfico] Unidades: Financiamento"),
ggplotly(unidades_g)
)
output <- tagAppendChild(output, unidades_t)
output <- tagAppendChild(output, unidades_ig)
#### Renderizar a tabela de informações consolidadas como uma datatable()
consolidado_t <-
tagList(
tags$h4("[Tabela] Informações consolidadas"),
dados.relatorio_l[[empreendimento.c]][[t]][[i]]$Consolidado %>%
mutate(
across(
where(is.numeric),
~ number_format(
accuracy = 0.01,
big.mark = ".",
decimal.mark = ","
)(.)
)
) %>%
datatable(
options = list(pageLength = 5, class = "cell-border")
)
)
#### Gráfico: Valor creditado x Valor do empréstimo
#g_creditadoxemprestimo()
#### Gráfico: Consolidado -
consolidado_gdf <-
dados.relatorio_l[[empreendimento.c]][[t]][[i]]$Consolidado %>%
summarise(
sum(`Valor Creditado`),
sum(`Valor Desbloqueado`),
sum(`Valor Amortizado`),
sum(`Encargo Quitado do PJ`)
) %>%
rbind(c(
"Valor Creditado",
"Valor Desbloqueado",
"Valor Amortizado",
"Encargo Quitado do PJ"
)) %>%
t() %>%
unname() %>%
as.data.frame() %>%
mutate(
Variavel = V2,
Valor = V1 %>%
as.numeric(),
.keep = "unused"
)
consolidado_g <-
ggplot(
data = consolidado_gdf,
aes(
x = Variavel,
y = Valor
)
) +
geom_bar(
stat = "identity",
color = "black",
fill = "lightgray"
) +
geom_text(
aes(label = scales::label_comma(
big.mark = ".",
decimal.mark = ",",
accuracy = 1
)(Valor)),
nudge_y = -20, size = 4
) +
xlab("") +
ylab("Valor (em R$)") +
scale_y_continuous(labels = scales::label_number(
big.mark = ".",
decimal.mark = ",",
accuracy = 1
)) +
theme_minimal()
consolidado_ig <- tagList(
tags$h4("[Gráfico] Informações consolidadas"),
ggplotly(consolidado_g)
)
output <- tagAppendChild(output, consolidado_t)
output <- tagAppendChild(output, consolidado_ig)
}
}
}
# Renderizar todo o conteúdo do HTML
browsable(output)
1. UP Estação Vila Sonia
ECN
2025-02
[Gráfico] Valor creditado x valor do empréstimo
[Tabela] Empreendimento
| Empreendimento |
Contrato |
APF |
Valor Aporte |
Total de Unidade |
Unidades Comercializadas |
Unidades Financiadas Construção |
Unidades Complementares |
Data Término de Obra |
Data Ini - Enc Fiador |
| UP ESTACAO VILA SONIA |
177770020232-1 |
062267428 |
0 |
234 |
0 |
74 |
0 |
01/11/2027 |
03/04/2028 |
[Tabela] Empréstimo
| Número |
Data da Assinatura |
Valor Empréstimo |
Valor Reduzido |
Valor Utilizado |
Saldo Devedor |
Linha de financiamento |
Tipo de financiamento |
| 878772137629 |
04/10/2024 |
27.607.680,00 |
2.895.794,57 |
928.463,72 |
927.609,85 |
869 |
38 |
[Tabela] Unidades
[Gráfico] Unidades: Financiamento
[Tabela] Informações consolidadas
[Gráfico] Informações consolidadas
2. UP Jardim Prudencia
ECN
2025-02
[Gráfico] Valor creditado x valor do empréstimo
[Tabela] Empreendimento
| Empreendimento |
Contrato |
APF |
Valor Aporte |
Total de Unidade |
Unidades Comercializadas |
Unidades Financiadas Construção |
Unidades Complementares |
Data Término de Obra |
Data Ini - Enc Fiador |
| CONDOMINIO UP JARDIM PRUDENCIA |
177770016646-5 |
054555008 |
0 |
106 |
0 |
62 |
0 |
04/09/2026 |
04/03/2027 |
[Tabela] Empréstimo
| Número |
Data da Assinatura |
Valor Empréstimo |
Valor Reduzido |
Valor Utilizado |
Saldo Devedor |
Linha de financiamento |
Tipo de financiamento |
| 878771764647 |
07/08/2023 |
9.712.092,00 |
3.777.094,24 |
2.374.285,53 |
1.741.925,86 |
869 |
38 |
[Tabela] Unidades
[Gráfico] Unidades: Financiamento
[Tabela] Informações consolidadas
[Gráfico] Informações consolidadas
3. UP Vila Sonia
ECN
2025-02
[Gráfico] Valor creditado x valor do empréstimo
[Tabela] Empreendimento
| Empreendimento |
Contrato |
APF |
Valor Aporte |
Total de Unidade |
Unidades Comercializadas |
Unidades Financiadas Construção |
Unidades Complementares |
Data Término de Obra |
Data Ini - Enc Fiador |
| CONDOMINIO UP VILA SONIA |
177770014920-0 |
060775597 |
0 |
180 |
0 |
101 |
0 |
08/12/2025 |
08/06/2026 |
[Tabela] Empréstimo
| Número |
Data da Assinatura |
Valor Empréstimo |
Valor Reduzido |
Valor Utilizado |
Saldo Devedor |
Linha de financiamento |
Tipo de financiamento |
| 178770205575 |
01/11/2022 |
13.856.541,00 |
3.156.721,34 |
5.133.141,98 |
3.791.630,65 |
160 |
38 |
[Tabela] Unidades
[Gráfico] Unidades: Financiamento
[Tabela] Informações consolidadas
[Gráfico] Informações consolidadas